<?php

function my_custom_login_logo() {

    echo '<style type="text/css">

        h1 a {
                background-image: url(' . get_template_directory_uri() . '/images/logo.png) !important;
                background-size: auto 100% !important;
                height: 150px !important;
                margin-bottom: 20px !important;
                width: 420px !important;
                margin-left: -45px !important;
             }

    </style>';
}

add_action('login_head', 'my_custom_login_logo');


/* * ******************************************************************************************************************************* */

//REGISTRAR SIDEBAR
/* * ******************************************************************************************************************************* */
if (function_exists('register_sidebar')) {
    register_sidebar(array(
        'name' => 'Sidebar videos',
        'id' => 'videos',
        'before_widget' => '<div id="%1$s" class="widget %2$s">',
        'after_widget' => '</div>',
        'before_title' => '<h3>',
        'after_title' => '</h3>',
    ));
}

function registrar_scripts() {
    wp_register_script('jquery2', get_template_directory_uri() . '/js/jquery.min.js', false, false, true);
    wp_register_script('general', get_template_directory_uri() . '/js/general.js', false, false, true);
    wp_register_script('carga', get_template_directory_uri() . '/js/carga.js', false, false, true);
    wp_register_script('home', get_template_directory_uri() . '/js/home.js', false, false, true);
    wp_register_script('menu', get_template_directory_uri() . '/js/menu.js', false, false, true);
    wp_register_script('tinyscrollbar', get_template_directory_uri() . '/js/jquery.tinyscrollbar.min.js', false, false, true);
}

add_action('init', 'registrar_scripts');

function cargar_scripts() {
    wp_enqueue_script('jquery2');
    wp_enqueue_script('general');
    wp_enqueue_script('carga');
    wp_enqueue_script('home');
    wp_enqueue_script('menu');
    wp_enqueue_script('tinyscrollbar');

    wp_localize_script('home', datosServ, array('template_url' => get_template_directory_uri()));
}

add_action('wp_footer', 'cargar_scripts');

function cargar_css() {
    wp_enqueue_style('pagina', get_template_directory_uri() . '/css/styles.css');
}

add_action('wp_head', 'cargar_css');



/* * ******************************************************************************************************************************* */
/* 	Registrar Menus WP3.0+
  /********************************************************************************************************************************* */
if (function_exists('register_nav_menus')) { //To add support for navigation menus
    register_nav_menus(
            array(
                'MenuPrincipal' => __('Menu Principal')
            )
    );
}



/* * ******************************************************************************************************************************* */
/* 	Configurar Imágenes Thumbnails WP2.9+
  /********************************************************************************************************************************* */
if (function_exists('add_theme_support')) {
    add_theme_support('post-thumbnails');
    add_image_size('video-thumbnail', 66, 56, true); // Category list thumbnails
    add_image_size('index-thumbnail', 220, 180, true);
    add_image_size('post-thumbnail', 300, 200, true);
    add_image_size('blog-thumbnail', 0, 0, true);
    add_image_size('letra-thumbnail', 300, 0, true);
    add_image_size('radios-thumbnail', 190, 150, true);
    add_image_size('bio-thumbnail', 0, 0, true);
    add_image_size('sponsors-thumbnail', 190, 150, true);
}


/* * ******************************************************************************************************************************* */

// Obtener la URL de la página actual
/* * ******************************************************************************************************************************* */


function getCurrentUrl() {

    $domain = $_SERVER['HTTP_HOST'];

    $url = "http://" . $domain . $_SERVER['REQUEST_URI'];

    return $url;
}

/* * ******************************************************************************************************************************* */

// Function obtener menus
/* * ******************************************************************************************************************************* */
function custom_obtener_menus($menu_name, $menu_item_name, $sub_menu_item_name) {// $menu_name se refiere al slug del menu 
    if (($locations = get_nav_menu_locations()) && isset($locations[$menu_name])) {
        $menu = wp_get_nav_menu_object($locations[$menu_name]);
        $menu_items = wp_get_nav_menu_items($menu->term_id); //Obtengo el Menú
//        echo '<pre>';
//        print_r($menu_items);
//        echo '</pre>';
        $rango = array(0 => "0");
//Armo la estructura del HMTL
        $menu_list = '<div class = "' . $menu_name . '">' . "\n";
        $ID_ant = 0;

        foreach ((array) $menu_items as $key => $menu_item) {
            $ID_padre = $menu_item->menu_item_parent; //obtengo el ID del menu padre
            $ID = $menu_item->ID; // Obtengo el ID del menu actual

            $rango{$ID} = $rango{$ID_padre} + 1; // Obtengo el rango del menu (empieza en rango 1)

            $title = $menu_item->title;
            $url = $menu_item->url;

            //Determinar si es el menu activo
            $activo = "";
            if (getCurrentUrl() == $url) {
                $activo = " activo";
            }


            if ($rango{$ID} == 1 && $rango{$ID} > $rango{$ID_ant}) {
                $menu_list .= "\t\t\t\t" . '<ul class = "' . $menu_item_name . '">' . "\n";
                $menu_list .= "\t\t\t\t\t" . '<li class = "menu-item' . $activo . '"><a href = "' . $url . '">' . $title . '</a>';
            } elseif ($rango{$ID} != 1 && $rango{$ID} > $rango{$ID_ant}) {
                $menu_list .= "\t\t\t\t" . '<ul class = "' . $sub_menu_item_name . '">' . "\n";
                $menu_list .= "\t\t\t\t\t" . '<li class = "menu-item' . $activo . '"><a href = "' . $url . '">' . $title . '</a>';
            } elseif ($rango{$ID} == $rango{$ID_ant}) {
                $menu_list .='</li>' . "\n";
                $menu_list .= "\t\t\t\t\t" . '<li class = "menu-item' . $activo . '"><a href = "' . $url . '">' . $title . '</a>';
            } else {

                $aux = $rango{$ID_ant} - $rango{$ID};
                for ($i = 0; $i < $aux; $i++) {
                    $menu_list .='</li>' . "\n";
                    $menu_list .= "\t\t\t\t" . '</ul>' . "\n";
                }

                $menu_list .= "\t\t\t\t\t" . '<li class = "menu-item' . $activo . '"><a href = "' . $url . '">' . $title . '</a>';
            }

            $ID_ant = $ID;
        }

        $aux = $rango{$ID_ant} - $rango{$ID};
        for ($i = 0; $i < $aux; $i++) {
            $menu_list .='</li>' . "\n";
            $menu_list .= "\t\t\t\t" . '</ul>' . "\n";
        }

        $menu_list .= "\t\t\t\t" . '</ul>' . "\n";
        $menu_list .= '<div class="back" ></div>';
        $menu_list .= '<div class="redes-sociales">';

        $links = get_bookmarks('category_name=Redes Sociales&orderby=link_id');


        foreach ($links as $link) {
            if ($link->link_name == 'Youtube') {
                $clase = 'yt';
            } elseif ($link->link_name == 'Twitter') {
                $clase = 'tw';
            } elseif ($link->link_name == 'Facebook') {
                $clase = 'fb';
            } else {
                $clase = '';
            }
            $menu_list .= '<div class="' . $clase . '"><a href="' . $link->link_url . '" target="_blank"></a><a class="load-img"></a></div>';
        }

        $menu_list .= '</div>';
        $menu_list .= "\t\t\t" . '</div>' . "\n";
    } else {
// $menu_list = '<!--no list defined-->';
    }

    echo "$menu_list";
}

// Add SoundCloud oEmbed
//function add_oembed_soundcloud() {
//    wp_oembed_add_provider('http://soundcloud.com/*', 'http://soundcloud.com/oembed');
//}
//
//add_action('init', 'add_oembed_soundcloud');
//cant de caract a mostrar en los post
function excerpt($limit) {
    $excerpt = explode(' ', get_the_excerpt(), $limit);
    if (count($excerpt) >= $limit) {
        array_pop($excerpt);
        $excerpt = implode(" ", $excerpt) . '…';
    } else {
        $excerpt = implode(" ", $excerpt);
    }
    $excerpt = preg_replace('`\[[^\]]*\]`', '', $excerpt);
    return $excerpt;
}

//FUNCION WORDPRESS PARA SABER SI LA CATEGORIA ACTUAL ES HIJA DE
if (!function_exists('obtener_id_categorias')) {

    function obtener_id_categorias($cat_padre) {
        $categorias[] = get_cat_ID($cat_padre);
        foreach (get_categories(array('child_of' => get_cat_ID($cat_padre), 'hide_empty' => 0)) as $cat) {
            $categorias[] = $cat->cat_ID;
//            $categorias .= ", " . $cat->slug;
        }

        return $categorias;
    }

}

//REDUCIR LARGO DEL TIRULO FOTOS
if (!function_exists('reducir_cadena')) {

    function reducir_cadena($cadena, $largo) {
        if (strlen($cadena) > $largo) {
            $titulomostrado = substr($cadena, 0, $largo);
            echo $titulomostrado . "...";
        } else {
            the_title();
        }
    }

}

//cant de caract a mostrar en los post
function resumen($texto, $cant_pal) {
    $excerpt = explode(' ', $texto, $cant_pal);
    if (count($excerpt) >= $cant_pal) {
        array_pop($excerpt);
        $excerpt = implode(" ", $excerpt) . '…';
    } else {
        $excerpt = implode(" ", $excerpt);
    }
    $excerpt = preg_replace('`\[[^\]]*\]`', '', $excerpt);
    return $excerpt;
}

/* * *************************************************** */
add_action('admin_menu', 'menu_agenda');

function menu_agenda() {
    add_menu_page('Agenda', 'Agenda', 'edit_posts', 'ageda', 'mostrar_agenda');
}

// registrar scripts y css
add_action('admin_enqueue_scripts', 'registrar_agenda_js', 10, 1);

function registrar_agenda_js() {
    wp_enqueue_style('formularios-css', get_template_directory_uri() . '/css/formularios.css');

    wp_enqueue_script('jquery-ui-datepicker');
    wp_enqueue_script('jquery-ui-datepicker-es', get_template_directory_uri() . "/js/jquery.ui.datepicker-es.js");
    wp_enqueue_style('jquery-ui-datepicker', get_template_directory_uri() . "/css/datepicker.css");


    wp_enqueue_script('agenda-js', get_template_directory_uri() . '/js/agenda.js');
    wp_localize_script('agenda-js', 'ajax_object', array('ajax_url' => admin_url('admin-ajax.php')));
}

add_action('wp_ajax_guardar_agenda', 'guardar_agenda_ajax');

function guardar_agenda_ajax() {
    global $wpdb;

//    SI TODO ES CORRECTO GUARDAMOS LOS CAMPOS
    if ($_POST['fecha']) {
        $fecha = date('Y-m-d', strtotime($_POST['fecha']));
    }

    $agenda = array(
        'nombre_evento' => $_POST['nombre_evento'],
        'fecha' => $fecha,
        'hora' => $_POST['hora'],
        'direccion' => $_POST['direccion'],
        'ciudad' => $_POST['ciudad'],
        'link' => $_POST['link']
    );

    if ($_POST['id_agenda'] != '') {//si ID != vacio significa que me llega un id por post para realizar una modificación
        $wpdb->update(agenda, $agenda, array('id_agenda' => $_POST['id_agenda']));
    } else {
        $wpdb->insert(agenda, $agenda);
    }

    mostrar_tabla_agenda();

    die();
}

add_action('wp_ajax_eliminar_agenda', 'eliminar_agenda_ajax');

function eliminar_agenda_ajax() {
    global $wpdb;

    $wpdb->query("DELETE FROM agenda WHERE id_agenda = " . $_POST['id_agenda']);

    mostrar_tabla_agenda();

    die();
}

//FUNCION QUE SE EJECUTA AL INGRESAR POR PRIMERA VEZ AL FORMULARIO
function mostrar_agenda() {
    ?>

    <div style="position: relative;">
        <div class="wrap" style="box-shadow: 0 0 2px 0 black; display: inline-block; margin: 10px; padding: 10px 80px 40px;">
            <?php mostrar_fomulario_agenda(); ?>

            <div class="listado-agenda">
                <div class = "icon32 icon32-bws" id = "icon-options-general"></div>
                <h2>Agenda</h2>
                <br/>
                <label>Filtrar:  </label>
                <select id="filtro" style="min-width: 150px;">
                    <option value=">=">Vigentes</option>
                    <option value="<">No Vigentes</option>
                </select>
                <br/>
                <br/>
                <div class="lista" >
                    <?php mostrar_tabla_agenda(); ?>
                </div>

                <br/>
                <label class="agregar button-primary">+ Agregar</label>
                <br/><br/>
            </div>
        </div>
    </div>
    <?php
}

function mostrar_fomulario_agenda() {
    ?>
    <div id = "popup"> 
        <div class="close"></div>
        <div id="alta-agenda"> 

            <div class="icon32" id="icon-options-general"></div>
            <h2>Agenda</h2>

            <br/>
            <form method="post" action="admin.php?page=agenda">
                <table>
                    <tr>
                        <td>ID:</td><td><input class="id_agenda" type="text" size="6" disabled style="text-align: center; background-color: #F2F2F2;"/></td>
                    </tr>
                    <tr>
                        <td>Nombre del Evento:</td><td><input class="nombre_evento" type="text" size="80"/></td>
                    </tr>
                    <tr>
                        <td>Fecha:</td><td><input class="fecha" type="text" size="30"/></td>
                    </tr>
                    <tr>
                        <td>Hora:</td><td><input class="hora" type="text" size="30" maxlength="45"/></td>
                    </tr>
                    <tr>
                        <td>Direccion:</td><td><input class="direccion" type="text" size="80"/></td>
                    </tr>
                    <tr>
                        <td>Ciudad:</td><td><input class="ciudad" type="text" size="80"/></td>
                    </tr>
                    <tr>
                        <td>Link del post:</td><td><input class="link" type="text" size="80"/></td>
                    </tr>
                </table>

                <p class="submit">
                    <input type="button" name="guardar" class="guardar button-primary" value="Guardar" />
                    <input type="button" name="cancelar" class="cancelar button-primary" value="Cancelar" />
                </p>
            </form>


        </div>
    </div>
    <div id="backgroundPopup"></div><?php
}

add_action('wp_ajax_recargar_tabla', 'recargar_tabla_ajax');

function recargar_tabla_ajax(){
    mostrar_tabla_agenda($_POST['filtro']);
    die();
}

function mostrar_tabla_agenda($filtro = '>=') {
    global $wpdb;


    $agenda = $wpdb->get_results("SELECT * FROM agenda WHERE fecha " . $filtro . " CURDATE() ORDER BY fecha DESC");
    ?>


    <table class="tabla-agenda">
        <tr>
            <th style="width: 30px; text-align: center;">Nº</th>
            <th style="width: 300px;">Nombre Evento</th>
            <th style="width: 100px;">Fecha</th>
            <th style="width: 100px;">Hora</th>
            <th style="width: 300px;">Dirección</th>
            <th style="width: 200px;">Ciudad</th>
            <th style="width: 200px;">Link</th>
        </tr>


        <?php
        if ($agenda) {

            $i = 1;
            foreach ($agenda as $evento) {
                ?>
                <tr>
                    <td class="t-nro" style="text-align: center;"><?php echo $i; ?></td>
                    <td class="t-nombre_evento"><?php echo $evento->nombre_evento; ?></td>
                    <td class="t-fecha"><?php echo date('d-m-Y', strtotime($evento->fecha)); ?></td>
                    <td class="t-hora"><?php echo $evento->hora; ?></td>
                    <td class="t-direccion"><?php echo $evento->direccion; ?></td>
                    <td class="t-ciudad"><?php echo $evento->ciudad; ?></td>
                    <td class="t-link"><?php echo $evento->link; ?></span></td>
                    <td><label class="modificar" ></label><input id="M-<?php echo $evento->id_agenda; ?>" type="hidden" value="<?php echo $evento->id_agenda; ?>" style="display: none;"/></td>
                    <td><label class="eliminar" ></label><input id="E-<?php echo $evento->id_agenda; ?>" type="hidden" value="<?php echo $evento->id_agenda; ?>" style="display: none;"/></td>
                </tr>

                <?php
                $i++;
            }
            ?> 
            <div class="cargando" style="display: none; z-index: 999;"><img src="<?php bloginfo('template_url'); ?>/images/loader.gif" alt="mensaje loader"/></div>
        </table>


        <script type="text/javascript">

            jQuery("label.eliminar").click(function() {
                if (confirm('¿Esta seguro que desea eliminar este Evento?')) {
                    //AJAX
                    var data = {//estos son los datos que paso por $_POST
                        action: 'eliminar_agenda',
                        id_agenda: jQuery(this).parent().find('input').val(),
                    };

                    jQuery.ajax({
                        type: "POST",
                        url: ajax_object.ajax_url,
                        data: data,
                        beforeSend: function() {
                            cargando();
                        },
                        success: function(datos) {
                            //                alert(datos);
                            jQuery('.lista').html(datos);
                        },
                        timeout: 4000,
                        error: function() {
                            alert('No se ha podido establecer la conexión con el servidor.');
                            jQuery('.cargando').fadeOut();

                        }
                    });
                }
            });

            jQuery("label.modificar").click(function() {
                loadPopup(); // function show popup 

                jQuery('.id_agenda').val(jQuery(this).parent().find('input').val());
                jQuery('.nombre_evento').val(jQuery(this).parent().parent().find('.t-nombre_evento').text());
                jQuery('.fecha').val(jQuery(this).parent().parent().find('.t-fecha').text());
                jQuery('.hora').val(jQuery(this).parent().parent().find('.t-hora').text());
                jQuery('.direccion').val(jQuery(this).parent().parent().find('.t-direccion').text());
                jQuery('.ciudad').val(jQuery(this).parent().parent().find('.t-ciudad').text());
                jQuery('.link').val(jQuery(this).parent().parent().find('.t-link').text());

            });

            function loadPopup() {
                jQuery("#popup").fadeIn(0500); // fadein popup div
                jQuery("#backgroundPopup").fadeIn(0001);

            }

            function cargando() {

                var w, h; //varibles width y height
                w = jQuery('.tabla-agenda').width();
                h = jQuery('.tabla-agenda').height() - 21;
                //            alert(w+' || '+h);
                jQuery('.cargando').css({width: w, height: h, 'line-height': (h + 9) + 'px'});
                jQuery('.cargando').fadeIn();
            }


        </script>

    <?php } else { ?>
        <div class="cargando" style="display: none; z-index: 999; top: 160px;"><img src="<?php bloginfo('template_url'); ?>/images/loader.gif" alt="mensaje loader"/></div>
        </table>

        <p>No hay datos para mostrar.</p>
        <?php
    }
}
?>
